package com.ruoyi.cm.domain.vo;

import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
import java.util.List;
import java.util.Map;


/**
 * 合同清单详情视图对象 cm_ba_contract_sheets
 *
 * @author zyb
 * @date 2024-09-24
 */
@Data
@ExcelIgnoreUnannotated
public class CmBaContractSheetsVo {

    private static final long serialVersionUID = 1L;
    /**
     * 序号
     */
    @ExcelProperty(value = "序号")
    private String vuhao;

    /**
     * 清单类型
     */
    @ExcelProperty(value = "清单名称")
    private String sheetTypeName;

    /**
     * 清单特征
     */
    @ExcelProperty(value = "规格型号名称")
    private String sheetFeaturesName;

    /**
     * 清单单位
     */
    @ExcelProperty(value = "单位")
    private String sheetUnit;

    /**
     * 初始单价
     */
    @ExcelProperty(value = "单价")
    private BigDecimal initDanjia;

    /**
     * 初始容量
     */
    @ExcelProperty(value = "数量")
    private BigDecimal initRongliang;


    // 变更后容量
    @ExcelProperty(value = "变更数量")
    private BigDecimal chgRongliang;


    /**
     * 初始总价
     */
    @ExcelProperty(value = "价税合计")
    private BigDecimal initZongjia;

    // 变更后总价
    @ExcelProperty(value = "变更后合计")
    private BigDecimal chgZongjia;
    /**
     * 合同id
     */
//    @ExcelProperty(value = "合同id")
    private Long contractId;

    /**
     * 所属标段id
     */
//    @ExcelProperty(value = "所属标段id")
    private Long bdId;

    /**
     * 所属站点id
     */
//    @ExcelProperty(value = "所属站点id")
    private Long zdId;

    /**
     * 清单项id
     */
//    @ExcelProperty(value = "清单项id")
    private Long sheetId;

    /**
     * 标准清单id
     */
//    @ExcelProperty(value = "标准清单id")
    private Long standardId;

    /**
     * 税率
     */
    @ExcelProperty(value = "税率(%)")
    private BigDecimal sheetTaxRate;
    /**
     * 初始税率
     */
    private BigDecimal initShui;

    /**
     * 累计变更总价
     */
//    @ExcelProperty(value = "累计变更总价")
    private BigDecimal ljbgZongjia;

    /**
     * 累计变更容量
     */
//    @ExcelProperty(value = "累计变更容量")
    private BigDecimal ljbgRongliang;

    /**
     * 累计变更单价
     */
//    @ExcelProperty(value = "累计变更单价")
    private BigDecimal ljbgDanjia;

    /**
     * 累计变更税率
     */
//    @ExcelProperty(value = "累计变更税率")
    private BigDecimal ljbgShui;

    /**
     * 实际总价
     */
//    @ExcelProperty(value = "实际总价")
    private BigDecimal factZongjia;

    /**
     * 实际容量
     */
//    @ExcelProperty(value = "实际容量")
    private BigDecimal factRongliang;

    /**
     * 实际单价
     */
//    @ExcelProperty(value = "实际单价")
    private BigDecimal factDanjia;

    /**
     * 实际税率
     */
//    @ExcelProperty(value = "实际税率")
    private BigDecimal factShui;

    /**
     * 实际完成容量
     */
//    @ExcelProperty(value = "实际完成容量")
    private BigDecimal factWcrl;

    /**
     * 实际完成总价
     */
//    @ExcelProperty(value = "实际完成总价")
    private BigDecimal factWczj;

    /**
     * 实际支付预付款
     */
//    @ExcelProperty(value = "实际支付预付款")
    private BigDecimal factZfyfk;

    /**
     * 实际扣除预付款
     */
//    @ExcelProperty(value = "实际扣除预付款")
    private BigDecimal factKcyfk;

    /**
     * 实际扣款（千分之五奖励金）
     */
//    @ExcelProperty(value = "实际扣款", converter = ExcelDictConvert.class)
//    @ExcelDictFormat(readConverterExp = "千分之五奖励金")
    private BigDecimal factKk;

    /**
     * 付款比例
     */
//    @ExcelProperty(value = "付款比例")
    private BigDecimal factFkbl;

    /**
     * 实际付款
     */
//    @ExcelProperty(value = "实际付款")
    private BigDecimal factFk;

    /**
     * 审批状态
     */
//    @ExcelProperty(value = "审批状态")
    private String approvalStatus;

    /**
     * 清单类型编号
     */
    private String sheetTypeCode;

    /**
     * 清单级别
     */
    private String sheetLevel;

    /**
     * 总价和
     */
    private BigDecimal initZongjiaSum;




    // 变更审批状态
    private String chgApprovalStatus;

    private String taskId; // 当前任务id
    private String proInsId; // 当前流程实例id
    private String currName; // 当前审批环节名称
    private boolean currApproval;

    /**
     * 中间计量
     */
    private List<PeriodMeasurementVo> periodMeasurementVoList;
}
